Repository navigation
fix(admin): console and panel sentences follow the venue a run used (#712) - #722
Merged
Merged
Conversation
…712) Part 1 of #712. Every sentence the console and the /dispatch panel print about a run's venue is now derived from the worker's own tables, so none is wrong for local, podman, openshell or openshell-bind. - BACKENDS_TABLE gains serves: { liveTranscript, steering, recovery, sandboxShell }, each yes, no or image. A test holds it to the real sources: each bundle's binds and transcript mode, SANDBOX_LAUNCHERS, and every venue's preflight with and without recover. - The record gains liveSkipped (LIVE_SKIPPED_REASONS). It was only logged before. - Admin sentence tables (STEER_SKIPPED_TEXT, LIVE_SKIPPED_TEXT, SERVES_TEXT, CUSTODY_TEXT) are bolted to the worker enums. - The console prints the sandbox command only for a venue with a sandbox shell. Otherwise it gives the panel's own reason. - The secrets disclosure follows the custody of the trigger's venue: on openshell, placeholders in the agent, not values. - The live and progress "absent" sentences give the record's liveSkipped, else the venue or image cause. - The panel offers its steer keys only when the run's inbox is open, and both run views show steerSkipped as a sentence. - The setup wizard gates an openshell-only deployment on its gateway's engine, then on the openshell CLI and gateway, and offers or refuses the venue by name. - PI_SECRET_PROFILES env profiles are listed beside the overlay's. Adding a profile refuses, before the confirm, a name the env already declares and a resolver whose real path is outside the roots as written (the worker's own rule). A path this host cannot resolve gets a note. - run.recover with an explicit venue that cannot recover is refused at load and at write. Admin also judges the implicit venue against PI_BACKENDS[0]. - The comments claiming profile management lives "nowhere else" are corrected. Specs: DES-CONTAINER-BACKEND-REGISTRY, DES-OPERATOR-CONSOLE, DES-ADMIN-VIA-PI-EXTENSION, DES-FIRST-RUN-SETUP-WIZARD, DES-OPENSHELL-VENUE, INT-RUN-HISTORY-FILE-CONTRACT, INT-TRIGGERS-FILE-CONTRACT, REQ-OPERATOR-CONSOLE-SCREENS, REQ-DEPLOYMENT-BOOTSTRAP and REQ-RUN-RECOVERY are amended. Signed-off-by: Rob Boerman <robboerman@live.nl>
This was referenced Oct 21, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part 1 of #712. This fixes all eight "wrong today" items, and builds the worker facts they need.
The worker facts
serves, a new block per venue inBACKENDS_TABLE:{ liveTranscript, steering, recovery, sandboxShell }, eachyes,noorimage.imagemeans the venue skips the feature by name unless the image declares the capability.bindsand transcript mode,SANDBOX_LAUNCHERS, and every venue's preflight run with and withoutrecover.liveSkippedon the run record: the reason a live transcript was skipped. Until now it was only logged.The eight fixes
pi-dispatch sandbox <id>only for a venue that has a sandbox shell. Otherwise it gives the panel's own reason.liveSkipped, or else the venue or image cause.steerSkippedas a sentence.PI_SECRET_PROFILESprofiles are listed beside the overlay's. Adding a profile refuses, before the confirm:run.recoverwith an explicit venue that cannot recover is refused at load and at write. Admin also judges a trigger with no explicit venue againstPI_BACKENDS[0].triggers.jsoncan hold this pairing, because openshell has never shipped in a release.All wording comes from admin tables (
STEER_SKIPPED_TEXT,LIVE_SKIPPED_TEXT,SERVES_TEXT,CUSTODY_TEXT) bolted to the worker's enums.Specs
Amended:
DES-CONTAINER-BACKEND-REGISTRY,DES-OPERATOR-CONSOLE,DES-ADMIN-VIA-PI-EXTENSION,DES-FIRST-RUN-SETUP-WIZARD,DES-OPENSHELL-VENUEINT-RUN-HISTORY-FILE-CONTRACT,INT-TRIGGERS-FILE-CONTRACTREQ-OPERATOR-CONSOLE-SCREENS,REQ-DEPLOYMENT-BOOTSTRAP,REQ-RUN-RECOVERYResiduals
.env: the default venue and the pre-confirm recover check readPI_BACKENDSfrom the surface's own environment, not the deployment.env(OQ-038, asbackendRefusalalready does).local,openshellkeeps its docker or podman gate in the wizard.upanddoctor --openshellcover openshell there.Verification
node admin/build.mjsbuilds. The revision-row, test-count, temp-dir and dated-fixture checks pass.